Enterprise customers often rely on service providers for various network services, such as caching, firewall, routing, intrusion prevention/detection and other services. Traditionally, each network service is statically configured on a different network component. For instance, routing services may be performed at an edge router, transcoding services may be performed at a process server, and media caching services may be performed at a media server. Accordingly, traffic flows requiring multiple network services are often forwarded between multiple network components in the services network. Since each network component has its own data plane, routing/forwarding procedures may be relatively complex for traffic flows requiring multiple network services. Further, forwarding a single traffic flow over multiple legs of the service network may result in significant congestion, which may decrease overall performance of the services network. Accordingly, techniques for reducing complexities associated with routing and forwarding of traffic flows in service networks are desired.